home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / bccapp.zip / LOWLEVEL.H < prev    next >
C/C++ Source or Header  |  1991-09-15  |  2KB  |  101 lines

  1. /*
  2.  *
  3.  * Private Header file for Vision WINDOWS toolkit
  4.  *
  5.  * (C) 1990 Vision Software
  6.  *
  7.  * $Id: lowlevel.h 1.2001 91/04/25 15:07:49 pcalvin release $
  8.  *
  9.  * Comments:
  10.  *
  11.  * These routines are used by our library for the lowlevel I/O
  12.  *
  13.  * Bugs:
  14.  *
  15.  * None documented
  16.  */
  17. #if (!defined(__LOWLEVEL__))
  18. #define __LOWLEVEL__
  19.  
  20. #if (!defined(__MENU__))
  21. #include <menu.h>
  22. #endif
  23.  
  24. /*
  25.  * Vision Propaganda Display
  26.  */
  27. VOID Propaganda();
  28. VOID DosShell();
  29. VOID TerminateApplication();
  30.  
  31. /*
  32.  * Low-level C++ routines
  33.  */
  34. VOID CursorColor(CO coFore,CO coBack);
  35. VOID HotString(ROW row,COL col,CCH cchHotKey,SZ sz,CO coFore,CO coBack);
  36. VOID DisplayChar(ROW row,COL col,CHAR ch,CO coFore,CO coBack);
  37. VOID DisplayString(ROW row,COL col,SZ sz,CO coFore,CO coBack);
  38. VOID DisplayCenter(ROW row,COL colCenter,SZ sz,CO coFore,CO coBack);
  39. VOID FillWindow(ROW row1,COL col1,ROW row2,COL col2,CHAR ch,CO coFore,CO coBack);
  40. VOID DrawBorder(ROW row1,COL col1,ROW row2,COL col2,BD bd,CO coFore,CO coBack);
  41. VOID SetGlobalRowCol(ROW row, COL col);
  42.  
  43. /*
  44.  *    Private utility functions..
  45.  */
  46. SZ SzTempPaddedFromSzCch(SZ sz,CCH cch);
  47. CCH CchFromCentPent(CENT cent,PENT pent);
  48.  
  49. /*
  50.  * Inline function definitions
  51.  */
  52. INLINE CO
  53. CoEgaFromCoCo(CO coFore,CO coBack)
  54.     {
  55.     return (((coBack & 0x7) << 4) | (coFore & 0xf));
  56.     }
  57.  
  58. INLINE INT
  59. Max(INT a,INT b)
  60.     {
  61.     return ((a > b) ? a : b);
  62.     }
  63.  
  64. INLINE INT
  65. Min(INT a,INT b)
  66.     {
  67.     return ((a < b) ? a : b);
  68.     }
  69.  
  70. INLINE VOID
  71. ClearColumn(ROW rowTop,COL col,ROW rowBottom,CO coFore,CO coBack)
  72.     {
  73.     FillWindow(rowTop,col,rowBottom,col,chSpace,coFore,coBack);
  74.     }
  75.  
  76. INLINE VOID
  77. ClearRow(ROW row,COL colLeft,COL colRight,CO coFore,CO coBack)
  78.     {
  79.     FillWindow(row,colLeft,row,colRight,chSpace,coFore,coBack);
  80.     }
  81.  
  82. INLINE VOID
  83. ClearWindow(ROW row1,COL col1,ROW row2,COL col2,CO coFore,CO coBack)
  84.     {
  85.     FillWindow(row1,col1,row2,col2,chSpace,coFore,coBack);
  86.     }
  87.  
  88. INLINE VOID
  89. FillColumn(ROW rowTop,COL col,ROW rowBottom,CHAR ch,CO coFore,CO coBack)
  90.     {
  91.     FillWindow(rowTop,col,rowBottom,col,ch,coFore,coBack);
  92.     }
  93.  
  94. INLINE VOID
  95. FillRow(ROW row,COL colLeft,COL colRight,CHAR ch,CO coFore,CO coBack)
  96.     {
  97.     FillWindow(row,colLeft,row,colRight,ch,coFore,coBack);
  98.     }
  99.  
  100. #endif    /* !defined(__LOWLEVEL__) */
  101.